// index.js
// 获取应用实例
const app = getApp()

// 一个页面，必须使用 Page() 来注册
Page({
  /**
   * 页面的初始数据
   */
  data: {
    motto: 'Hello 小程序',
    userInfo: {},
    hasUserInfo: false,
    canIUse: wx.canIUse('button.open-type.getUserInfo'),
    canIUseGetUserProfile: false,
    /**
     * 我能使用开放数据吗？
     *    wx.xxx()  以 wx. 开头的方法是小程序提供的 api
     */
    // canIUseOpenData: wx.canIUse('open-data.type.userAvatarUrl') && wx.canIUse('open-data.type.userNickName') // 如需尝试获取用户信息可改为false
    canIUseOpenData: false
  },
  /**
   * 事件处理函数
   *    与Vue不同，没有放置在 methods 选项中
   */
  bindViewTap() {
    // 跳转页面
    wx.navigateTo({
      url: '../logs/logs'
    })
  },
  onLoad() {
    if (wx.getUserProfile) {
      this.setData({
        canIUseGetUserProfile: true
      })
    }
  },
  // 事件处理函数
  getUserProfile(e) {
    // 推荐使用wx.getUserProfile获取用户信息，开发者每次通过该接口获取用户个人信息均需用户确认，开发者妥善保管用户快速填写的头像昵称，避免重复弹窗
    wx.getUserProfile({
      desc: '展示用户信息', // 声明获取用户个人信息后的用途，后续会展示在弹窗中，请谨慎填写
      success: (res) => {
        console.log(res)
        // 将 API 返回的数据，存储到 data 中
        //    Vue 中 this.userInfo = 
        //           this.hasUserInfo = ''
        //    这里学习 React 使用 setData 来修改 data 数据
        this.setData({
          userInfo: res.userInfo,
          hasUserInfo: true
        })
      }
    })
  },
  getUserInfo(e) {
    // 不推荐使用getUserInfo获取用户信息，预计自2021年4月13日起，getUserInfo将不再弹出弹窗，并直接返回匿名的用户个人信息
    console.log(e)
    this.setData({
      userInfo: e.detail.userInfo,
      hasUserInfo: true
    })
  }
})
